static int frame_width = 0;
static int frame_height = 0;
static float frame_aspect_ratio = 0;
-static enum PixelFormat frame_pix_fmt = PIX_FMT_YUV420P;
+static enum PixelFormat frame_pix_fmt = PIX_FMT_NONE;
static int frame_padtop = 0;
static int frame_padbottom = 0;
static int frame_padleft = 0;
common_init(avctx);
init_vlcs(a);
ff_init_scantable(a->dsp.idct_permutation, &a->scantable, scantab);
+ avctx->pix_fmt= PIX_FMT_YUV420P;
a->inv_qscale= ((uint8_t*)avctx->extradata)[0];
if(a->inv_qscale == 0){
#define FFMPEG_VERSION_INT 0x000409
#define FFMPEG_VERSION "0.4.9-pre1"
-#define LIBAVCODEC_BUILD 4752
+#define LIBAVCODEC_BUILD 4753
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
#define LIBAVCODEC_VERSION FFMPEG_VERSION
* to run on the IBM VGA graphics adapter use 6-bit palette components.
*/
enum PixelFormat {
+ PIX_FMT_NONE= -1,
PIX_FMT_YUV420P, ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)
PIX_FMT_YUV422, ///< Packed pixel, Y0 Cb Y1 Cr
PIX_FMT_RGB24, ///< Packed pixel, 3 bytes per pixel, RGBRGB...
if(avctx->debug & FF_DEBUG_PICT_INFO){
av_log(avctx, AV_LOG_DEBUG, "ver:%X ver0:%X\n", avctx->sub_id, avctx->extradata_size >= 4 ? ((uint32_t*)avctx->extradata)[0] : -1);
}
-
+
+ avctx->pix_fmt = PIX_FMT_YUV420P;
+
if (MPV_common_init(s) < 0)
return -1;
rv_chrom_code, 2, 2, 1);
done = 1;
}
-
- avctx->pix_fmt = PIX_FMT_YUV420P;
return 0;
}
{
SnowContext *s = avctx->priv_data;
int block_size;
+
+ avctx->pix_fmt= PIX_FMT_YUV420P;
common_init(avctx);
s->profile= FF_PROFILE_UNKNOWN;
s->level= FF_LEVEL_UNKNOWN;
s->me_penalty_compensation= 256;
+ s->pix_fmt= PIX_FMT_NONE;
s->intra_quant_bias= FF_DEFAULT_QUANT_BIAS;
s->inter_quant_bias= FF_DEFAULT_QUANT_BIAS;
st->codec.codec_type = CODEC_TYPE_VIDEO;
st->codec.codec_id = av_str2id(img_tags, s->path);
}
- if(st->codec.codec_type == CODEC_TYPE_VIDEO && ap->pix_fmt)
+ if(st->codec.codec_type == CODEC_TYPE_VIDEO && ap->pix_fmt != PIX_FMT_NONE)
st->codec.pix_fmt = ap->pix_fmt;
return 0;
val = enc->sample_rate;
break;
case CODEC_TYPE_VIDEO:
- val = enc->width;
+ val = enc->width && enc->pix_fmt != PIX_FMT_NONE;
break;
default:
val = 1;
ret = avcodec_open(&st->codec, codec);
if (ret < 0)
return ret;
+
+ if(!has_codec_parameters(&st->codec)){
switch(st->codec.codec_type) {
case CODEC_TYPE_VIDEO:
ret = avcodec_decode_video(&st->codec, &picture,
default:
break;
}
+ }
fail:
avcodec_close(&st->codec);
return ret;
*
* @param ic media file handle
* @return >=0 if OK. AVERROR_xxx if error.
+ * @todo let user decide somehow what information is needed so we dont waste time geting stuff the user doesnt need
*/
int av_find_stream_info(AVFormatContext *ic)
{
decompress the frame. We try to avoid that in most cases as
it takes longer and uses more memory. For MPEG4, we need to
decompress for Quicktime. */
- if (!has_codec_parameters(&st->codec) &&
+ if (!has_codec_parameters(&st->codec) /*&&
(st->codec.codec_id == CODEC_ID_FLV1 ||
st->codec.codec_id == CODEC_ID_H264 ||
st->codec.codec_id == CODEC_ID_H263 ||
st->codec.codec_id == CODEC_ID_PBM ||
st->codec.codec_id == CODEC_ID_PPM ||
st->codec.codec_id == CODEC_ID_SHORTEN ||
- (st->codec.codec_id == CODEC_ID_MPEG4 && !st->need_parsing)))
+ (st->codec.codec_id == CODEC_ID_MPEG4 && !st->need_parsing))*/)
try_decode_frame(st, pkt->data, pkt->size);
if (st->codec_info_duration >= MAX_STREAM_DURATION) {
do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec huffyuv -pix_fmt yuv422p $file
# huffyuv decoding
-do_ffmpeg $raw_dst -y -i $file -f rawvideo -strict -1 $raw_dst
+do_ffmpeg $raw_dst -y -i $file -f rawvideo -strict -1 -pix_fmt yuv420p $raw_dst
fi
###################################
do_ffmpeg $file -y -qscale 10 -f pgmyuv -i $raw_src -an -vcodec mjpeg -pix_fmt yuvj420p $file
# mjpeg decoding
-do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
+do_ffmpeg $raw_dst -y -i $file -f rawvideo -pix_fmt yuv420p $raw_dst
fi
###################################
do_ffmpeg $file -y -f pgmyuv -i $raw_src -an -vcodec svq1 -qscale 3 -pix_fmt yuv410p $file
# svq1 decoding
-do_ffmpeg $raw_dst -y -i $file -f rawvideo $raw_dst
+do_ffmpeg $raw_dst -y -i $file -f rawvideo -pix_fmt yuv420p $raw_dst
fi
###################################