| 
																	
																	
																		
																	
																	
																 | 
																@@ -29,15 +29,24 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																#include "raw.h" | 
																 | 
																 | 
																#include "raw.h" | 
															
														
														
													
														
															
																 | 
																 | 
																#include "libavutil/intreadwrite.h" | 
																 | 
																 | 
																#include "libavutil/intreadwrite.h" | 
															
														
														
													
														
															
																 | 
																 | 
																#include "libavutil/imgutils.h" | 
																 | 
																 | 
																#include "libavutil/imgutils.h" | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#include "libavutil/opt.h" | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct RawVideoContext { | 
																 | 
																 | 
																typedef struct RawVideoContext { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    AVClass *av_class; | 
															
														
														
													
														
															
																 | 
																 | 
																    uint32_t palette[AVPALETTE_COUNT]; | 
																 | 
																 | 
																    uint32_t palette[AVPALETTE_COUNT]; | 
															
														
														
													
														
															
																 | 
																 | 
																    unsigned char * buffer;  /* block of memory for holding one frame */ | 
																 | 
																 | 
																    unsigned char * buffer;  /* block of memory for holding one frame */ | 
															
														
														
													
														
															
																 | 
																 | 
																    int             length;  /* number of bytes in buffer */ | 
																 | 
																 | 
																    int             length;  /* number of bytes in buffer */ | 
															
														
														
													
														
															
																 | 
																 | 
																    int flip; | 
																 | 
																 | 
																    int flip; | 
															
														
														
													
														
															
																 | 
																 | 
																    AVFrame pic;             ///< AVCodecContext.coded_frame | 
																 | 
																 | 
																    AVFrame pic;             ///< AVCodecContext.coded_frame | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    int tff; | 
															
														
														
													
														
															
																 | 
																 | 
																} RawVideoContext; | 
																 | 
																 | 
																} RawVideoContext; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static const AVOption options[]={ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{"top", "top field first", offsetof(RawVideoContext, tff), FF_OPT_TYPE_INT, {.dbl = -1}, -1, 1, AV_OPT_FLAG_DECODING_PARAM|AV_OPT_FLAG_VIDEO_PARAM}, | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{NULL} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																}; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static const AVClass class = { "rawdec", NULL, options, LIBAVUTIL_VERSION_INT }; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																static const PixelFormatTag pix_fmt_bps_avi[] = { | 
																 | 
																 | 
																static const PixelFormatTag pix_fmt_bps_avi[] = { | 
															
														
														
													
														
															
																 | 
																 | 
																    { PIX_FMT_MONOWHITE, 1 }, | 
																 | 
																 | 
																    { PIX_FMT_MONOWHITE, 1 }, | 
															
														
														
													
														
															
																 | 
																 | 
																    { PIX_FMT_PAL8,    2 }, | 
																 | 
																 | 
																    { PIX_FMT_PAL8,    2 }, | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -130,6 +139,11 @@ static int raw_decode(AVCodecContext *avctx, | 
															
														
														
													
														
															
																 | 
																 | 
																    frame->pkt_pts          = avctx->pkt->pts; | 
																 | 
																 | 
																    frame->pkt_pts          = avctx->pkt->pts; | 
															
														
														
													
														
															
																 | 
																 | 
																    frame->pkt_pos          = avctx->pkt->pos; | 
																 | 
																 | 
																    frame->pkt_pos          = avctx->pkt->pos; | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if(context->tff>=0){ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        frame->interlaced_frame = 1; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        frame->top_field_first  = context->tff; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																    //2bpp and 4bpp raw in avi and mov (yes this is ugly ...) | 
																 | 
																 | 
																    //2bpp and 4bpp raw in avi and mov (yes this is ugly ...) | 
															
														
														
													
														
															
																 | 
																 | 
																    if (context->buffer) { | 
																 | 
																 | 
																    if (context->buffer) { | 
															
														
														
													
														
															
																 | 
																 | 
																        int i; | 
																 | 
																 | 
																        int i; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																		
																	
																	
																 | 
																@@ -214,4 +228,5 @@ AVCodec ff_rawvideo_decoder = { | 
															
														
														
													
														
															
																 | 
																 | 
																    raw_close_decoder, | 
																 | 
																 | 
																    raw_close_decoder, | 
															
														
														
													
														
															
																 | 
																 | 
																    raw_decode, | 
																 | 
																 | 
																    raw_decode, | 
															
														
														
													
														
															
																 | 
																 | 
																    .long_name = NULL_IF_CONFIG_SMALL("raw video"), | 
																 | 
																 | 
																    .long_name = NULL_IF_CONFIG_SMALL("raw video"), | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    .priv_class= &class, | 
															
														
														
													
														
															
																 | 
																 | 
																}; | 
																 | 
																 | 
																}; |