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 rv10_encode_picture_header(MpegEncContext *s, int picture_number)
00032 {
00033 int full_frame= 0;
00034
00035 align_put_bits(&s->pb);
00036
00037 put_bits(&s->pb, 1, 1);
00038
00039 put_bits(&s->pb, 1, (s->pict_type == FF_P_TYPE));
00040
00041 put_bits(&s->pb, 1, 0);
00042
00043 put_bits(&s->pb, 5, s->qscale);
00044
00045 if (s->pict_type == FF_I_TYPE) {
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 AVCodec rv10_encoder = {
00060 "rv10",
00061 AVMEDIA_TYPE_VIDEO,
00062 CODEC_ID_RV10,
00063 sizeof(MpegEncContext),
00064 MPV_encode_init,
00065 MPV_encode_picture,
00066 MPV_encode_end,
00067 .pix_fmts= (const enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_NONE},
00068 .long_name= NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
00069 };