00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00028 #include "mpegvideo.h"
00029 #include "put_bits.h"
00030
00031 void ff_rv10_encode_picture_header(MpegEncContext *s, int picture_number)
00032 {
00033 int full_frame= 0;
00034
00035 avpriv_align_put_bits(&s->pb);
00036
00037 put_bits(&s->pb, 1, 1);
00038
00039 put_bits(&s->pb, 1, (s->pict_type == AV_PICTURE_TYPE_P));
00040
00041 put_bits(&s->pb, 1, 0);
00042
00043 put_bits(&s->pb, 5, s->qscale);
00044
00045 if (s->pict_type == AV_PICTURE_TYPE_I) {
00046
00047 }
00048
00049
00050 if(!full_frame){
00051 put_bits(&s->pb, 6, 0);
00052 put_bits(&s->pb, 6, 0);
00053 put_bits(&s->pb, 12, s->mb_width * s->mb_height);
00054 }
00055
00056 put_bits(&s->pb, 3, 0);
00057 }
00058
00059 FF_MPV_GENERIC_CLASS(rv10)
00060
00061 AVCodec ff_rv10_encoder = {
00062 .name = "rv10",
00063 .type = AVMEDIA_TYPE_VIDEO,
00064 .id = CODEC_ID_RV10,
00065 .priv_data_size = sizeof(MpegEncContext),
00066 .init = ff_MPV_encode_init,
00067 .encode2 = ff_MPV_encode_picture,
00068 .close = ff_MPV_encode_end,
00069 .pix_fmts = (const enum PixelFormat[]){ PIX_FMT_YUV420P, PIX_FMT_NONE },
00070 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
00071 .priv_class = &rv10_class,
00072 };