[Ffmpeg-cvslog] r8664 - in trunk: libavcodec/bethsoftvideo.c libavcodec/bethsoftvideo.h libavformat/bethsoftvid.c

michael subversion
Sun Apr 8 01:10:22 CEST 2007


Author: michael
Date: Sun Apr  8 01:10:22 2007
New Revision: 8664

Modified:
   trunk/libavcodec/bethsoftvideo.c
   trunk/libavcodec/bethsoftvideo.h
   trunk/libavformat/bethsoftvid.c

Log:
use shorter names for the block type enum


Modified: trunk/libavcodec/bethsoftvideo.c
==============================================================================
--- trunk/libavcodec/bethsoftvideo.c	(original)
+++ trunk/libavcodec/bethsoftvideo.c	Sun Apr  8 01:10:22 2007
@@ -51,7 +51,7 @@ static void set_palette(AVFrame * frame,
 {
     uint32_t * palette = (uint32_t *)frame->data[1];
     int a;
-    for(a = 0; a < VID_PALETTE_NUMCOLORS; a++)
+    for(a = 0; a < 256; a++)
     {
         palette[a] = AV_RB24(&palette_buffer[a * 3]) * 4;    // multiply all colors by 4
     }
@@ -84,7 +84,7 @@ static int bethsoftvid_decode_frame(AVCo
     switch(block_type = *buf++)
     {
         case PALETTE_BLOCK: set_palette(&vid->frame, buf); return 0;
-        case VIDEO_YOFFSET_DIFFERENCE_FRAME_BLOCK:
+        case VIDEO_YOFF_P_FRAME:
             yoffset = bytestream_get_le16(&buf);
             if(yoffset >= avctx->height) { return -1; }
             destination += vid->frame.linesize[0] * yoffset;
@@ -99,7 +99,7 @@ static int bethsoftvid_decode_frame(AVCo
         while(length > line_remaining)
         {
             if(rle_num_bytes < 0x80) { bytestream_get_buffer(&buf, destination, line_remaining); }
-            else if(block_type == VIDEO_FULL_FRAME_BLOCK) { memset(destination, buf[0], line_remaining); }
+            else if(block_type == VIDEO_I_FRAME) { memset(destination, buf[0], line_remaining); }
             length -= line_remaining;      // decrement the number of bytes to be copied
             destination += line_remaining + wrap_to_next_line;    // skip over extra bytes at end of frame
             line_remaining = avctx->width;
@@ -108,7 +108,7 @@ static int bethsoftvid_decode_frame(AVCo
 
         // copy any remaining bytes after / if line overflows
         if(rle_num_bytes < 0x80) { bytestream_get_buffer(&buf, destination, length); }
-        else if(block_type == VIDEO_FULL_FRAME_BLOCK) { memset(destination, *buf++, length); }
+        else if(block_type == VIDEO_I_FRAME) { memset(destination, *buf++, length); }
         line_remaining -= length;
         destination += length;
     }

Modified: trunk/libavcodec/bethsoftvideo.h
==============================================================================
--- trunk/libavcodec/bethsoftvideo.h	(original)
+++ trunk/libavcodec/bethsoftvideo.h	Sun Apr  8 01:10:22 2007
@@ -1,12 +1,10 @@
-#define VID_PALETTE_NUMCOLORS 256
-
 enum BethsoftVidBlockType
 {
     PALETTE_BLOCK = 0x02,
     FIRST_AUDIO_BLOCK = 0x7c,
     AUDIO_BLOCK = 0x7d,
-    VIDEO_FULL_FRAME_BLOCK = 0x03,
-    VIDEO_DIFFERENCE_FRAME_BLOCK = 0x01,
-    VIDEO_YOFFSET_DIFFERENCE_FRAME_BLOCK = 0x04,
-    FINISHED_BLOCK = 0x14,
+    VIDEO_I_FRAME       = 0x03,
+    VIDEO_P_FRAME       = 0x01,
+    VIDEO_YOFF_P_FRAME  = 0x04,
+    EOF_BLOCK           = 0x14,
 };

Modified: trunk/libavformat/bethsoftvid.c
==============================================================================
--- trunk/libavformat/bethsoftvid.c	(original)
+++ trunk/libavformat/bethsoftvid.c	Sun Apr  8 01:10:22 2007
@@ -119,7 +119,7 @@ static int read_frame(BVID_DemuxContext 
     vid->video_pts += vid->bethsoft_global_delay + get_le16(pb);
 
     // set the y offset if it exists (decoder header data should be in data section)
-    if(block_type == VIDEO_YOFFSET_DIFFERENCE_FRAME_BLOCK){
+    if(block_type == VIDEO_YOFF_P_FRAME){
         if(get_buffer(pb, &vidbuf_start[vidbuf_nbytes], 2) != 2)
             goto fail;
         vidbuf_nbytes += 2;
@@ -134,7 +134,7 @@ static int read_frame(BVID_DemuxContext 
         vidbuf_start[vidbuf_nbytes++] = rle_num_bytes;
 
         if(rle_num_bytes > 0x80){ // rle sequence
-            if(block_type == VIDEO_FULL_FRAME_BLOCK)
+            if(block_type == VIDEO_I_FRAME)
                 vidbuf_start[vidbuf_nbytes++] = get_byte(pb);
             bytes_copied += rle_num_bytes - 0x80;
         } else if(rle_num_bytes){ // plain sequence
@@ -186,8 +186,8 @@ static int vid_read_packet(AVFormatConte
     switch(block_type){
         case PALETTE_BLOCK:
             url_fseek(pb, -1, SEEK_CUR);     // include block type
-            ret_value = av_get_packet(pb, pkt, 3 * VID_PALETTE_NUMCOLORS + 1);
-            if(ret_value != 3 * VID_PALETTE_NUMCOLORS + 1){
+            ret_value = av_get_packet(pb, pkt, 3 * 256 + 1);
+            if(ret_value != 3 * 256 + 1){
                 av_free_packet(pkt);
                 return AVERROR_IO;
             }
@@ -205,13 +205,13 @@ static int vid_read_packet(AVFormatConte
             pkt->stream_index = 1;
             return (ret_value != audio_length ? AVERROR_IO : ret_value);
 
-        case VIDEO_DIFFERENCE_FRAME_BLOCK:
-        case VIDEO_YOFFSET_DIFFERENCE_FRAME_BLOCK:
-        case VIDEO_FULL_FRAME_BLOCK:
+        case VIDEO_P_FRAME:
+        case VIDEO_YOFF_P_FRAME:
+        case VIDEO_I_FRAME:
             return read_frame(vid, pb, pkt, block_type, s,
                               s->streams[0]->codec->width * s->streams[0]->codec->height);
 
-        case FINISHED_BLOCK:
+        case EOF_BLOCK:
             if(vid->nframes != 0)
                 av_log(s, AV_LOG_VERBOSE, "reached terminating character but not all frames read.\n");
             vid->is_finished = 1;




More information about the ffmpeg-cvslog mailing list