pictureheader.cc

来自「Linux下比较早的基于命令行的DVD播放器」· CC 代码 · 共 109 行

CC
109
字号
//// Copyright (c) 2004 by Istv醤 V醨adi//// This file is part of dxr3Player, a DVD player written specifically // for the DXR3 (aka Hollywood+) decoder card, but now handles other// hardware as well.// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//------------------------------------------------------------------------------#include "PictureHeader.h"#include "util/Log.h"//------------------------------------------------------------------------------using mpeg::PictureHeader;//------------------------------------------------------------------------------void PictureHeader::log() const{    Log::debug("  temporal reference=%u\n", temporalReference);    const char* str = 0;    switch(codingType) {      case CODING_I:        str = "I";        break;      case CODING_P:        str = "P";        break;      case CODING_B:        str = "B";        break;      default:        str = "Unknown";        break;    }    Log::debug("  coding type=%s-frame\n", str);    Log::debug("  VBV delay=%u\n", vbvDelay);    Log::debug("  fCode=[ [%u, %u], [%u, %u] ]\n",                fCode[0][0],               fCode[0][1],               fCode[1][0],               fCode[1][1]);    Log::debug("  intra-DC precision: %u\n", intraDCPrecision);    switch(pictureStructure) {      case PICTURE_TOP:        str = "Top field";        break;      case PICTURE_BOTTOM:        str = "Bottom field";        break;      case PICTURE_FRAME:        str = "Frame picture";        break;      default:        str = "Unknown";        break;    }    Log::debug("  picture structure=%s\n", str);    Log::debug("  top field is %sfirst\n", topFieldFirst ? "" : "not ");    Log::debug("  %sonly frame DCT and prediction is used\n",                onlyFramePredAndDCT ? "" : "not ");    Log::debug("  has %sconcealment motion vectors\n",                hasConcealmentMotionVectors ? "" : "no ");        Log::debug("  quantiser scale type=%u\n", quantiserScaleType);    Log::debug("  intra-VLC format=%u\n", intraVLCFormat);    Log::debug("  %s scan method should be used\n",                alternateScan ? "alternate" : "normal");    Log::debug("  first field should %sbe repeated\n",                repeatFirstField ? "" : "not ");    Log::debug("  %sprogressive field\n",                progressiveFrame ? "" : "not ");    Log::debug("  %scomposite display\n",                compositeDisplay ? "" : "not ");    if (compositeDisplay) {        Log::debug("  v-Axis=%u\n", vAxis);        Log::debug("  field sequence=%u\n", fieldSequence);        Log::debug("  sub-carrier/line frequency relationship is %sOK\n",                   subCarrierNOK ? "not " : "");        Log::debug("  burst amplitude=%u\n", burstAmplitude);        Log::debug("  sub-carrier phase=%u\n", subCarrierPhase);    }}//------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?